// 第三方模块:nodemailer
// nodemailer模块用于发送邮件
// 安装模块
// npm i nodemailer
// 加载模块
const nodemailer = require("nodemailer");

function sendMail(email,subject,body){
    // 创建一个transporter对象,用于发送邮件
    let transporter = nodemailer.createTransport({
        host: "smtp.qq.com",// 邮件发送者的邮箱主机(看 查找1)
        port: 465,// (看 查找1)
        secure: true, // (看 查找1)
        auth: {
            user: '99835885@qq.com', // 邮件发送者的邮箱地址(管理员的邮箱地址)
            pass: 'oshbzmibsgywbjcb', // 管理员邮箱的SMTP授权码(看 查找2)
        },
    });

    // 查找1
    // node_modules\nodemailer\lib\well-known\services.json
    // 打开services.json文件
    // 搜索 qq 找到对应的qq邮箱配置

    // 查找2
    // 进入 99835885@qq.com 邮箱主页
    // 点击 设置 -> 账户 -> 开启服务：POP3/SMTP服务
    // 账户身份验证
    // 生成SMTP授权码
    // 赋值授权码,添加到 auth.pass 位置

    let info = {
        from: '"管理员" <99835885@qq.com>', // 管理员邮箱地址
        to: email, // 接收邮件者的邮箱地址
        subject: subject, // 邮件主题
        text: body, // 纯文本邮件内容,邮件内容格式只能二选一
        // html: "<b>Hello world?</b>", // html标签邮件内容,邮件内容格式只能二选一
    }

    return new Promise((resolve,reject)=>{
        // 异步发送邮件
        transporter.sendMail(info,(err)=>{
            if (err) {
                // console.log( '邮件发送失败' )
                reject('邮件发送失败')
            } else {
                // console.log( '邮件发送成功' )
                resolve('邮件发送成功')
            }
        });
    })
}

// 对外暴露模块内容
module.exports = {sendMail}
